Handwriting recognition systems are being developed to allow users to input handwritten data into a computer. An electronic tablet allows a user to hand write data that the computer can recognize. The user writes data on the electronic tablet with a special pen. As the user moves the pen across the tablet, the tablet displays "ink." The tablet senses the position of the pen as the user writes and sends the position data to the computer. The computer receives this position data and converts it to recognized symbols, such as letters or numbers, in a convenient formate, such as ASCII format. The computer then processes the formatted characters.
Some handwriting recognition systems recognize not only characters, letters and punctuation, but also gestures. Gestures are handwritten symbols that are typically used to represent editing commands or to produce non-printing text. For example, a handwritten backslash over a letter may mean delete the letter, a caret in between two letters may mean insert text, or a vertical line with an arrow to the left may mean insert a carriage return. Gestures are used extensively when printed documents are edited. During recognition, these gestures are converted to a convenient format for use by the computer.
These handwriting recognition systems use algorithms to map handwritten data to symbols. Typically, these systems internally store a prototype for each symbol that can be recognized. A prototype is a "picture" of a handwritten symbol that is used to map handwriting to a symbol. A system that recognizes just capital letters may have only 26 prototypes: one for each capital letter. Recognition systems use recognition algorithms to map handwritten data to a prototype. As long as the user writes like the prototypes, the handwritten data is successfully recognized. Conversely, the more dissimilar the handwritten data and the prototype are, the more likely it is that the handwritten data will be misrecognized. Misrecognition is typically due to the differences in user handwriting styles and legibility of the handwriting. For example, the handwritten word "dear" may be misrecognized as the work "clear" depending the way the user writes a "d" and the prototypes for the letters "d," "c," and "l."
Although some computer programs are written to accept handwritten data, most computer programs are designed to receive data typed by a user at a computer keyboard. Such programs are call non-pen programs, that is, the programs are not designed to support handwritten data entry. It is often desirable to allow users the option to input data through a keyboard or by handwriting. Many people are not proficient at typing. They shun using computers because it is burdensome to enter data. These people, however, would use a computer if the computer program would accept handwritten data entry. Also, there are many situations where the use of a keyboard is impractical where the use of handwritten data entry would be practical.
Many of the non-pen application programs are written for a windowing environment. One such windowing environment is Windows by Microsoft Corporation of Redmond, Wash. Several operating systems also have integrated windowing environments. In a windowing environment, each application program is assigned a window. The windows for several programs can be shown on the computer display simultaneously. Typically, the windowing environment supports multitasking, that is, multiple programming may be operating concurrently. The windowing system controls the positioning and size of the windows on the screen. Typically, the user has considerable flexibility in arranging the windows. In most windowing systems, the windows can overlap. The window that logically overlaps obscures the overlapped window.
It would require extensive redesigning and reprogramming to adapt non-pen programs to accept handwritten data. In some situations, it may not be economically feasible to adapt a non-pen program. The costs of the adaptations may not be offset by increased revenue resulting from the program accepting handwritten data. It would be desirable if these non-pen application programs cold receive handwritten data without the need to adapt the non-pen application program. It would be desirable if the non-pen program could also receive handwritten gestures.